
/*--------------------------------------------------------------------------- generale ------------------------------------------------------------------*/

html,body					{margin: 0; padding: 0; width: 100%; height: 100%; scroll-behavior: smooth;}
body							{background: #fff; font-family: 'Jost', sans-serif; color: #393536; font-size: 20px; line-height: 28px; font-weight: 400; text-align: center;}
img							{border: 0px solid;}
a								{border: 0px solid; text-decoration: none; color: #393536;}
p,div							{margin: 0; padding: 0;}
h1								{font-weight: 400; font-size: 50px; line-height: 60px; margin: 0 0 15px 0;}
h2								{font-weight: 400; font-size: 40px; line-height: 50px; margin: 0 0 10px 0;}
h3								{font-weight: 400; font-size: 24px; line-height: 30px; margin: 0 0  5px 0;}
.fs10							{font-size: 10px; line-height: 14px;}
.fs12							{font-size: 12px; line-height: 22px;}
.fs14							{font-size: 14px; line-height: 22px;}
.fs16							{font-size: 16px; line-height: 22px;}
.fs18							{font-size: 18px; line-height: 24px;}
.fs20							{font-size: 18px; line-height: 24px;}
@media only screen and (min-width:  670px)  { .fs20 {font-size: 20px; line-height: 26px;} }
.fs22							{font-size: 20px; line-height: 26px;}
@media only screen and (min-width:  670px)  { .fs22 {font-size: 22px; line-height: 28px;} }
.fs24							{font-size: 20px; line-height: 28px;}
@media only screen and (min-width:  670px)  { .fs24 {font-size: 24px; line-height: 30px;} }
.fs26							{font-size: 22px; line-height: 28px;}
@media only screen and (min-width:  670px)  { .fs26 {font-size: 24px; line-height: 30px;} }
@media only screen and (min-width:  970px)  { .fs26 {font-size: 26px; line-height: 32px;} }
.fs28							{font-size: 24px; line-height: 30px;}
@media only screen and (min-width:  670px)  { .fs28 {font-size: 26px; line-height: 32px;} }
@media only screen and (min-width:  970px)  { .fs28 {font-size: 28px; line-height: 34px;} }
.fs30							{font-size: 24px; line-height: 30px;}
@media only screen and (min-width:  670px)  { .fs30 {font-size: 26px; line-height: 32px;} }
@media only screen and (min-width:  970px)  { .fs30 {font-size: 30px; line-height: 36px;} }
.fs36							{font-size: 24px; line-height: 28px;}
@media only screen and (min-width:  670px)  { .fs36 {font-size: 28px; line-height: 30px;} }
@media only screen and (min-width:  970px)  { .fs36 {font-size: 32px; line-height: 38px;} }
@media only screen and (min-width: 1250px)  { .fs36 {font-size: 36px; line-height: 42px;} }
.fs40							{font-size: 28px; line-height: 34px;}
@media only screen and (min-width:  670px)  { .fs40 {font-size: 32px; line-height: 38px;} }
@media only screen and (min-width:  970px)  { .fs40 {font-size: 36px; line-height: 44px;} }
@media only screen and (min-width: 1250px)  { .fs40 {font-size: 40px; line-height: 52px;} }
.fs50							{font-size: 26px; line-height: 32px;}
@media only screen and (min-width:  670px)  { .fs50 {font-size: 36px; line-height: 44px;} }
@media only screen and (min-width:  970px)  { .fs50 {font-size: 44px; line-height: 52px;} }
@media only screen and (min-width: 1250px)  { .fs50 {font-size: 50px; line-height: 60px;} }
.fs60							{font-size: 32px; line-height: 38px;}
@media only screen and (min-width:  670px)  { .fs60 {font-size: 40px; line-height: 48px;} }
@media only screen and (min-width:  970px)  { .fs60 {font-size: 50px; line-height: 60px;} }
@media only screen and (min-width: 1250px)  { .fs60 {font-size: 60px; line-height: 72px;} }
.fs70							{font-size: 34px; line-height: 40px;}
@media only screen and (min-width:  670px)  { .fs70 {font-size: 42px; line-height: 50px;} }
@media only screen and (min-width:  970px)  { .fs70 {font-size: 56px; line-height: 64px;} }
@media only screen and (min-width: 1250px)  { .fs70 {font-size: 70px; line-height: 82px;} }
.fs110						{font-size: 30px; line-height: 40px;}
@media only screen and (min-width:  670px)  { .fs110 {font-size:  60px; line-height: 70px;} }
@media only screen and (min-width:  970px)  { .fs110 {font-size:  80px; line-height: 100px;} }
@media only screen and (min-width: 1250px)  { .fs110 {font-size: 110px; line-height: 130px;} }
.fs120						{font-size: 40px; line-height: 50px;}
@media only screen and (min-width:  670px)  { .fs120 {font-size: 80px; line-height: 96px;} }
@media only screen and (min-width:  970px)  { .fs120 {font-size: 100px; line-height: 120px;} }
@media only screen and (min-width: 1250px)  { .fs120 {font-size: 120px; line-height: 140px;} }
.fw200						{font-weight: 200;}
.fw300						{font-weight: 300;}
.fw400						{font-weight: 400;}
.fw700						{font-weight: 700;}
.fw900						{font-weight: 900;}
.fsnormal					{font-style: normal;}
.fsitalic					{font-style: italic;}
.flsx							{float: left;}
.fldx							{float: right;}
.clear						{clear: both; font-size: 0; line-height: 0;}
.nowrap						{white-space: nowrap;}
.vertorizcentro			{position: absolute;	top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
.vertcentro					{position: absolute;	top: 50%; -webkit-transform: translatey(-50%); -ms-transform: translatey(-50%); transform: translatey(-50%);}
.txtleft						{text-align: left;}
.txtcenter					{text-align: center;}
.txtright					{text-align: right;}
.txtjust						{text-align: justify;}
.txtund						{text-decoration: underline;}
.transitions100			{-webkit-transition: all .1s; -moz-transition: all .1s; -o-transition: all .1s; transition: all .1s;}
.transitions200			{-webkit-transition: all .2s; -moz-transition: all .2s; -o-transition: all .2s; transition: all .2s;}
.transitions				{-webkit-transition: all .3s; -moz-transition: all .3s; -o-transition: all .3s; transition: all .3s;}
.transitions600			{-webkit-transition: all .6s; -moz-transition: all .6s; -o-transition: all .6s; transition: all .6s;}
.transitions900			{-webkit-transition: all .9s; -moz-transition: all .9s; -o-transition: all .9s; transition: all .9s;}
.transitions1200			{-webkit-transition: all 1.2s; -moz-transition: all 1.2s; -o-transition: all 1.2s; transition: all 1.2s;}
.transitions3000			{-webkit-transition: all  3s; -moz-transition: all  3s; -o-transition: all  3s; transition: all  3s;}
.nonselez					{user-select: none; -moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none; -o-user-select: none; cursor: default;}
.nonattivo					{pointer-events: none; cursor: default;}
.curdef						{cursor: default;}
.curdefimportant			{cursor: default !important;}
.curpointer					{cursor: pointer;}
.valignmiddle				{vertical-align: middle;}
.w10							{width: 10%;}
.w20							{width: 20%;}
.w30							{width: 30%;}
.w40							{width: 40%;}
.w50							{width: 50%;}
.w60							{width: 60%;}
.w70							{width: 70%;}
.w80							{width: 80%;}
.w90							{width: 90%;}
.w100							{width: 100%;}
.h100							{height: 100%;}
.minh100						{min-height: 100%;}
.w20px						{width: 20px;}
.w40px						{width: 40px;}
.w60px						{width: 60px;}
.w80px						{width: 80px;}
.w100px						{width: 100px;}
.dtable						{display: table;}
.dtablecellmiddle			{display: table-cell; vertical-align: middle;}
.spazio5						{margin: 0; padding: 0; height:  5px;}
.spazio10					{margin: 0; padding: 0; height:  10px;}
.spazio20					{margin: 0; padding: 0; height:  20px;}
.spazio30					{margin: 0; padding: 0; height:  30px;}
.spazio40					{margin: 0; padding: 0; height:  40px;}
.spazio50					{margin: 0; padding: 0; height:  50px;}
.spazio60					{margin: 0; padding: 0; height:  60px;}
.spazio70					{margin: 0; padding: 0; height:  70px;}
.spazio80					{margin: 0; padding: 0; height:  80px;}
.spazio90					{margin: 0; padding: 0; height:  90px;}
.spazio100					{margin: 0; padding: 0; height: 100px;}
.spazio150					{margin: 0; padding: 0; height: 150px;}
.spazio200					{margin: 0; padding: 0; height: 200px;}
.spazio300					{margin: 0; padding: 0; height: 300px;}
.spazio1p					{margin: 1% 0 0 0; padding: 0; height: 0;}
.spazio2p					{margin: 2% 0 0 0; padding: 0; height: 0;}
.spazio3p					{margin: 3% 0 0 0; padding: 0; height: 0;}
.spazio4p					{margin: 4% 0 0 0; padding: 0; height: 0;}
.spazio5p					{margin: 5% 0 0 0; padding: 0; height: 0;}
.spazio6p					{margin: 6% 0 0 0; padding: 0; height: 0;}
.spazio7p					{margin: 7% 0 0 0; padding: 0; height: 0;}
.spazio8p					{margin: 8% 0 0 0; padding: 0; height: 0;}
.spazio9p					{margin: 9% 0 0 0; padding: 0; height: 0;}
.spazio10p					{margin: 10% 0 0 0; padding: 0; height: 0;}
.padding1p					{padding: 1.0%;}
.padding2p					{padding: 2.0%;}
.padding3p					{padding: 3.0%;}
.padding4p					{padding: 4.0%;}
.padding5p					{padding: 5.0%;}
.padding6p					{padding: 6.0%;}
.padding7p					{padding: 7.0%;}
.padding8p					{padding: 8.0%;}
.padding9p					{padding: 9.0%;}
.padding10p					{padding: 10.0%;}
.margin1p					{margin: 1.0%;}
.margin2p					{margin: 2.0%;}
.margin3p					{margin: 3.0%;}
.margin4p					{margin: 4.0%;}
.margin5p					{margin: 5.0%;}
.margin6p					{margin: 6.0%;}
.margin7p					{margin: 7.0%;}
.margin8p					{margin: 8.0%;}
.margin9p					{margin: 9.0%;}
.margin10p					{margin: 10.0%;}
.bbox							{-ms-box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}
.ofhidden					{overflow: hidden;}
.vhidden						{visibility: hidden;}
.barrato						{text-decoration: line-through;}
.prel							{position: relative;}
.pabs							{position: absolute;}
.opacity0					{opacity: 0 !important;}
.opacity1					{opacity: 1 !important;}
.zoom0						{-moz-transform: scale(0); -webkit-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0);}
.zoom1						{-moz-transform: scale(1); -webkit-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1);}
.dnone						{display: none;}
.dinline						{display: inline;}
.dblock						{display: block;}
.dinlineblock				{display: inline-block;}
.dtable1						{display: table;}
.dtable2						{display: table-cell; vertical-align: middle;}
.outlinenone				{outline: none;}
.brdround					{border-radius: 50%;}
.linea						{display: block; height: 1px; width: 100%;}
.linea3px					{display: block; height: 3px; width: 100%;}

.cont							{position: relative; margin: 0 30px;}

.cont400						{position: relative; margin: 0 30px;}
@media only screen and (min-width:  460px)  { .cont400 {width: 400px; padding: 0; margin: 0 auto;} }

.cont500						{position: relative; margin: 0 30px;}
@media only screen and (min-width:  560px)  { .cont500 {width: 500px; padding: 0; margin: 0 auto;} }

.cont600						{position: relative; margin: 0 30px;}
@media only screen and (min-width:  660px)  { .cont600 {width: 600px; padding: 0; margin: 0 auto;} }

.cont700						{position: relative; margin: 0 30px;}
@media only screen and (min-width:  760px)  { .cont700 {width: 700px; padding: 0; margin: 0 auto;} }

.cont800						{position: relative; margin: 0 30px;}
@media only screen and (min-width:  860px)  { .cont800 {width: 800px; padding: 0; margin: 0 auto;} }

.cont1000					{position: relative; margin: 0 30px;}
@media only screen and (min-width: 1060px)  { .cont1000 {width: 1000px; padding: 0; margin: 0 auto;} }

.cont1200					{position: relative; margin: 0 30px;}
@media only screen and (min-width: 1260px)  { .cont1200 {width: 1200px; padding: 0; margin: 0 auto;} }

.cont1400					{position: relative; margin: 0 30px;}
@media only screen and (min-width: 1460px)  { .cont1400 {width: 1400px; padding: 0; margin: 0 auto;} }

.cont1600					{position: relative; margin: 0 30px;}
@media only screen and (min-width: 1660px)  { .cont1600 {width: 1600px; padding: 0; margin: 0 auto;} }

.cont1800					{position: relative; margin: 0 30px;}
@media only screen and (min-width: 1860px)  { .cont1800 {width: 1800px; padding: 0; margin: 0 auto;} }

.bianco						{color: #fff;}
.biancoback					{background-color: #fff;}
.biancobrd					{border: 1px solid #fff;}

.nero							{color: #393536;}
.neroback					{background-color: #393536;}
.nerobrd						{border: 1px solid #393536;}

.verde						{color: #07823c;}
.verdeback					{background-color: #07823c;}
.verdebrd					{border: 1px solid #07823c;}







.topcontwrapper			{position: fixed; top: 0; left: 0; right: 0; overflow: auto; min-height: 90px; z-index: 999998;}

.scrolled					{background: rgba(255,255,255,0.9);}

.topcont						{padding: 30px 10px; margin: 0 30px; border-bottom: 1px solid #393536; min-height: 90px;}

.logotop						{position: absolute; top: 50%; margin-top: -26px; left: 10px;}

.menudesktop				{display: none;}
@media only screen and (min-width: 770px)  { .menudesktop {display: block;} }

.menudesktop a				{margin: 0 20px;}
.menudesktop a:hover		{color: #07823c;}

.menumobile					{display: block;}
@media only screen and (min-width: 770px)  { .menumobile {display: none;} }

.hamb							{width: 50px;}

.sottomenu					{position: fixed; z-index: 999999;}

.sottomenu a				{margin: 20px 0;}

.xbtn							{position: absolute; top: 20%; right: 1%; width: 50px;}

.aperto						{top: -30%; left: 0; right: 0; bottom: -30%;}

.chiuso						{top: -190%; left: 0; right: 0; bottom: 130%;}











.box1							{height: 100%;}

.sliderimg					{height: 100% !important;}

.sliderimg-in				{height: 100% !important; background-position: center center; background-repeat: no-repeat; background-size: cover; opacity: 0.2;}

.slick-list, .slick-track {height: 100% !important;}

.sliderimg-in-2			{position: absolute; top: 0; left: 0; right: 0; bottom: 0;}

.logobox1					{display: block; margin: 0 auto; width: 90%; max-width: 1000px;}

.box1underlogo				{padding: 60px 20px 0 20px; background: url('./immagini/piu.svg') center top no-repeat; background-size: 60px 60px;}
@media only screen and (min-width:  660px)  { .box1underlogo {padding: 10px 80px; background: url('./immagini/piu.svg') left center no-repeat; background-size: 60px 60px;} }
@media only screen and (min-width: 1200px)  { .box1underlogo {padding: 20px 110px; background-size: 90px 90px;} }

.box1underlogo p			{margin: 15px 0;}
@media only screen and (min-width:  660px)  { .box1underlogo p {margin: 0;} }

.spazio50-100				{height: 50px;}
@media only screen and (min-width:  660px)  { .spazio50-100 {height: 100px;} }











.box2							{min-height: 100%; background: url('./immagini/chi-siamo-fondo.jpg') center center no-repeat; background-size: cover; border-top: 1px solid #393536;}

.box2cont					{padding: 130px 0;}

.box2sx						{margin: 0 0 30px 0;}
@media only screen and (min-width:  950px)  { .box2sx {float: left; width: 48%; margin: 0 2% 0 0;} }

.box2dx						{margin: 0;}
@media only screen and (min-width:  950px)  { .box2dx {float: left; width: 48%; margin: 0 0 0 2%;} }

.minilogobox2				{vertical-align: -8px;}

.spaziovarbox2				{margin: 0; padding: 0; height: 0;}
@media only screen and (min-width: 1150px)  { .spaziovarbox2 {height: 60px;} }
@media only screen and (min-width: 1250px)  { .spaziovarbox2 {height: 100px;} }










.box3							{min-height: 100%; background: url('./immagini/cosa-facciamo-fondo.jpg') center center no-repeat; background-size: cover; border-top: 1px solid #393536;}

.box3cont					{padding: 130px 0;}

.box3sx						{margin: 0 0 30px 0;}
@media only screen and (min-width:  950px)  { .box3sx {float: left; width: 48%; margin: 0 2% 0 0;} }

.box3dx						{margin: 0;}
@media only screen and (min-width:  950px)  { .box3dx {float: left; width: 48%; margin: 0 0 0 2%;} }

.spaziovarbox3				{margin: 0; padding: 0; height: 0;}
@media only screen and (min-width: 1150px)  { .spaziovarbox3 {height: 60px;} }
@media only screen and (min-width: 1250px)  { .spaziovarbox3 {height: 100px;} }


















.box4							{min-height: 100%; background: url('./immagini/immobili-fondo.jpg') center center no-repeat; background-size: cover; border-top: 1px solid #393536;}

.box4cont					{padding: 0;}

.h1shadow					{text-shadow: 0px 0px 30px #000;}

.puls							{padding: 8px 30px; border-radius: 22px; box-shadow: 0px 0px 30px #000;}

.puls:hover					{background: #07823c !important; color: #fff !important;}

















.box5							{min-height: 100%; background: url('./immagini/dove-siamo-fondo.jpg') center center no-repeat; background-size: cover; border-top: 1px solid #393536;}

.box5cont					{padding: 130px 0;}

.box5sx						{margin: 0 0 30px 0;}
@media only screen and (min-width:  950px)  { .box5sx {float: left; width: 48%; margin: 0 2% 0 0;} }

.box5dx						{margin: 0; min-height: 300px;}
@media only screen and (min-width:  950px)  { .box5dx {float: left; width: 48%; margin: 0 0 0 2%;} }

.minilogobox5				{vertical-align: -8px;}

.spaziovarbox5				{margin: 0; padding: 0; height: 0;}
@media only screen and (min-width:  950px)  { .spaziovarbox5 {height: 20px;} }
@media only screen and (min-width: 1250px)  { .spaziovarbox5 {height: 50px;} }

.ico-contatti				{width: 32px; vertical-align: -12px; margin-right: 12px;}

#mappa						{border-radius: 20px; min-height: 300px; border: 1px solid #393536;}
@media only screen and (min-width:  950px)  {#mappa {position: absolute; top: 0; left: 0; right: 0; bottom: 0; min-height: 300px; height: 100%;} }

.box5sx a:hover			{color: #07823c !important;}















.footer						{background-color: #f6f6f6; padding: 50px 20px;}

.minilogofooter			{vertical-align: -8px; margin: 0 30px;}



